package com.suning.sawp.remote.intf;

import com.suning.rsf.provider.annotation.Contract;
import com.suning.rsf.provider.annotation.Method;
import com.suning.sawp.remote.dto.InComeDetail;
import com.suning.sawp.remote.dto.MyTotalInCome;
import com.suning.sawp.remote.dto.MyTotalMember;

/**
 * 
 * 店员相关联BI数据接口<br> 
 * 〈功能详细描述〉
 *
 * @author 12061818
 * @see [相关类/方法]（可选）
 * @since [产品/模块版本] （可选）
 */
@Contract(name = "storeManBIRemoteService", internal = false, description = "店+提供对外接口")
public interface StoreManBIRemoteService {
    /**
     * 
     * 功能描述: 查询个人POS渠道总计收益<br>
     * 〈功能详细描述〉
     * 
     * @param staffId （必填）
     * @return 个人收益
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    @Method(idempotent = true, timeout = 500, retryTimes = 3,
            priority = "H", description = "查询个人POS渠道总计收益")
    MyTotalInCome getMyTotalInComeInPos(String staffId);
    
    /**
     * 
     * 功能描述: 查询个人POS渠道发展会员情况<br>
     * 〈功能详细描述〉
     *
     * @param staffId （必填）
     * @return 
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    @Method(idempotent = true, timeout = 500, retryTimes = 3,
            priority = "H", description = "查询个人POS渠道发展会员情况")
    MyTotalMember getMyTotalMemberInPos(String staffId);
    
    /**
     * 
     * 功能描述: 按月分页查询个人POS渠道收益明细<br>
     * 〈功能详细描述〉
     *
     * @param staffId 员工工号（必填）
     * @param month 月份，格式：yyyyMM（必填）
     * @param pageNum 当前页码 （必填）
     * @param pageSize 每页展示记录数，不填默认10
     * @return
     * @see [相关类/方法](可选)
     * @since [产品/模块版本](可选)
     */
    @Method(idempotent = true, timeout = 500, retryTimes = 3,
            priority = "H", description = "按月分页查询个人POS渠道收益明细")
    InComeDetail queryInComeDetailInPos(String staffId, String month, int pageNum, int pageSize);
}
